home *** CD-ROM | disk | FTP | other *** search
- ;--------------------------------;
- ; ARRAYFNC - A COMAL MODULE ;
- ; ;
- ; EXTENDING COMAL WITH SOME ;
- ; ARRAY FUNCTIONS ;
- ; BY DICK KLINGENS ;
- ; 851002 ;
- ; DUTCH COMAL USERS GROUP ;
- ; THE HAGUE - HOLLAND ;
- ;--------------------------------;
- ;
- ;--CONSTANTS & VARIABLES---------;
- FUNC =227
- ENDFNC =126
- PARAM =114
- VALUE =PARAM+0
- REAL =0
- STR =2
- ARRAY =6
- DEFPAG =%01000110
- ;
- COPY1 =$0045
- ;
- ;--ROUTINES----------------------;
- FNDPAR =$C896
- PSHINT =$C9CE
- RUNERR =$C9FB
- DUMMY =$CA2F
- ;
- ;--MODULE DESCRIPTION------------;
- ;
- * =$8009 ;START ADDRESS
- ;
- .BYTE DEFPAG ;MEMORY MAP
- .WORD EIND ;END OF MODULE
- .WORD DUMMY ;NO SIGNAL ROUTINES
- ;
- .BYTE 6,'ARFUNC' ;PACKAGE NAME
- .WORD PRTAB
- .WORD DUMMY ;NO INITIALISATION
- .BYTE 0 ;NO MORE PACKAGES
- ;--PROCEDURE TABEL---------------;
- PRTAB .BYTE 5,'ARMAX'
- .WORD HMAX
- .BYTE 5,'ARMIN'
- .WORD HMIN
- .BYTE 0
- ;
- ;--PROCEDURE HEADERS-------------;
- HMAX .BYTE FUNC+REAL,<BMAX,>BMAX,1
- .BYTE VALUE+ARRAY+STR,1
- .BYTE ENDFNC
- ;
- HMIN .BYTE FUNC+REAL,<BMIN,>BMIN,1
- .BYTE VALUE+ARRAY+STR,1
- .BYTE ENDFNC
- ;
- ;--PROCEDURE BODIES--------------;
- BMAX LDA #1
- JSR FNDPAR
- LDY #6
- LDA (COPY1),Y
- TAX ;.X:=LO BYTE UPPER BOUND
- DEY
- LDA (COPY1),Y ;.A:=HI BYTE UPPER BOUND
- JSR PSHINT ;VALUE ON STACK
- RTS ;COMAL
- ;
- BMIN LDA #1
- JSR FNDPAR
- LDY #4
- LDA (COPY1),Y
- TAX ;.X:=LO BYTE LOWER BOUND
- DEY
- LDA (COPY1),Y ;.A:=HI BYTE LOWER BOUND
- JSR PSHINT ;VALUE ON STACK
- RTS ;COMAL
- ;
- EIND .END
-